"""
专业A股情感分析提示词配置模块

集成专业A股分析提示词，提供标准化的分析框架
"""

from typing import Dict, List


class SentimentPrompts:
    """专业A股情感分析提示词类"""
    
    @staticmethod
    def get_professional_a_share_system_prompt() -> str:
        """
        获取专业A股情感分析系统提示词
        
        Returns:
            str: 专业的A股情感分析系统提示词
        """
        return """你是一个专业的A股市场分析师，擅长解读新闻对股票走势的影响。你需要分析一组新闻的情感倾向，并给出一个介于-1到1之间的分数：

**评分标准**：
- 1表示极其积极（例如：重大利好消息、超预期业绩、行业政策支持）
- 0.5到0.9表示积极（例如：业绩增长、新项目落地、获得订单）
- 0.1到0.4表示轻微积极（例如：小额合同签订、日常经营正常）
- 0表示中性（例如：日常公告、人事变动、无重大影响的新闻）
- -0.1到-0.4表示轻微消极（例如：小额诉讼、非核心业务亏损）
- -0.5到-0.9表示消极（例如：业绩下滑、重要客户流失、行业政策收紧）
- -1表示极其消极（例如：重大违规、核心业务严重亏损、被监管处罚）

**分析时重点关注**：
1. 业绩相关：财报、业绩预告、营收利润等
2. 政策影响：行业政策、监管政策、地方政策等
3. 市场表现：市场份额、竞争态势、商业模式等
4. 资本运作：并购重组、股权激励、定增配股等
5. 风险事件：诉讼仲裁、处罚、债务等
6. 行业地位：技术创新、专利、市占率等
7. 舆论环境：媒体评价、社会影响等

**请确保分析**：
1. 新闻的真实性和可靠性
2. 新闻的时效性和影响范围
3. 对公司基本面的实际影响
4. A股市场的特殊反应规律

请基于以上标准进行专业、客观的情感分析。"""

    @staticmethod
    def get_enhanced_agent_instructions() -> List[str]:
        """
        获取增强的智能体指令
        
        Returns:
            List[str]: 智能体指令列表
        """
        return [
            "你是一个专业的市场情绪分析师，专注于A股市场情绪分析，具备以下能力：",
            "",
            "**新闻情感分析**",
            "- 基于专业A股分析框架进行情感分析",
            "- 使用-1到1的标准化评分体系",
            "- 识别正面、负面和中性情绪，并给出置信度",
            "",
            "**专业分析维度**",
            "- 业绩相关：财报、业绩预告、营收利润分析",
            "- 政策影响：行业政策、监管政策、地方政策解读",
            "- 市场表现：市场份额、竞争态势、商业模式评估",
            "- 资本运作：并购重组、股权激励、定增配股分析",
            "- 风险事件：诉讼仲裁、处罚、债务风险识别",
            "- 行业地位：技术创新、专利、市占率评估",
            "- 舆论环境：媒体评价、社会影响分析",
            "",
            "**A股市场专业性**",
            "- 深度理解A股市场特殊反应规律",
            "- 考虑中国资本市场的独特性",
            "- 结合监管环境和政策导向",
            "- 关注投资者结构和市场情绪特点",
            "",
            "**分析质量保证**",
            "- 验证新闻的真实性和可靠性",
            "- 评估新闻的时效性和影响范围",
            "- 分析对公司基本面的实际影响",
            "- 提供明确的投资建议和风险提示",
            "",
            "当前情绪分析状态: {sentiment_analysis}",
            "",
            "请基于专业的A股市场分析方法，为用户提供准确、客观的情绪分析服务。"
        ]

    @staticmethod
    def get_detailed_analysis_prompt(ticker: str, news_summary: str, sentiment_score: float, 
                                   news_count: int, key_themes: List[str]) -> str:
        """
        获取详细分析提示词
        
        Args:
            ticker: 股票代码
            news_summary: 新闻摘要
            sentiment_score: 情感分数
            news_count: 新闻数量
            key_themes: 关键主题
            
        Returns:
            str: 详细分析提示词
        """
        themes_text = ', '.join(key_themes[:5]) if key_themes else '暂无关键主题'
        
        return f"""请对股票 {ticker} 的市场情绪进行专业的A股市场深度分析。

**基础数据**：
- 新闻情感分数: {sentiment_score:.2f} (-1到1之间)
- 分析新闻数量: {news_count} 条
- 关键主题: {themes_text}

**新闻摘要**：
{news_summary}

**请基于专业A股分析框架进行以下分析**：

1. **整体情绪评估**
   - 当前市场对该股票的整体情绪倾向
   - 情绪强度和持续性预判
   - 与历史情绪水平的对比

2. **情绪驱动因素分析**
   - 主要的正面/负面情绪驱动因素
   - 各驱动因素的重要性排序
   - 驱动因素的可持续性评估

3. **A股市场特殊性考量**
   - 政策环境对情绪的影响
   - 监管态度和市场预期
   - 投资者结构对情绪传导的影响

4. **基本面影响评估**
   - 情绪变化对公司基本面的实际影响
   - 短期和长期影响的区分
   - 业绩预期的调整方向

5. **投资建议和风险提示**
   - 基于情绪分析的投资建议
   - 需要关注的关键风险点
   - 情绪反转的可能性和信号

请给出明确的情绪信号（积极/消极/中性）、置信度评估和具体的投资建议。
分析应当客观、专业，符合A股市场的实际情况。"""

    @staticmethod
    def get_scoring_guidelines() -> Dict[str, Dict[str, str]]:
        """
        获取评分指导原则

        Returns:
            Dict[str, Dict[str, str]]: 评分指导原则字典
        """
        return {
            "极其积极": {
                "score_range": "0.8 - 1.0",
                "examples": "重大利好消息、超预期业绩、行业政策支持、重大合作协议",
                "characteristics": "对股价有显著正面影响，市场反应强烈"
            },
            "积极": {
                "score_range": "0.5 - 0.7",
                "examples": "业绩增长、新项目落地、获得重要订单、产品创新",
                "characteristics": "对股价有正面影响，市场反应积极"
            },
            "轻微积极": {
                "score_range": "0.1 - 0.4",
                "examples": "小额合同签订、日常经营正常、管理层表态积极",
                "characteristics": "轻微正面影响，市场反应温和"
            },
            "中性": {
                "score_range": "-0.1 - 0.1",
                "examples": "日常公告、人事变动、无重大影响的新闻",
                "characteristics": "对股价影响中性，市场反应平淡"
            },
            "轻微消极": {
                "score_range": "-0.4 - -0.1",
                "examples": "小额诉讼、非核心业务亏损、管理层变动",
                "characteristics": "轻微负面影响，市场反应谨慎"
            },
            "消极": {
                "score_range": "-0.7 - -0.5",
                "examples": "业绩下滑、重要客户流失、行业政策收紧",
                "characteristics": "对股价有负面影响，市场反应消极"
            },
            "极其消极": {
                "score_range": "-1.0 - -0.8",
                "examples": "重大违规、核心业务严重亏损、被监管处罚",
                "characteristics": "对股价有严重负面影响，市场反应强烈"
            }
        }

    @staticmethod
    def get_a_share_specific_keywords() -> Dict[str, List[str]]:
        """
        获取A股特定关键词

        Returns:
            Dict[str, List[str]]: A股特定关键词字典
        """
        return {
            "政策利好": [
                "政策支持", "国家战略", "产业政策", "税收优惠", "补贴政策",
                "一带一路", "新基建", "双碳目标", "数字经济", "制造强国"
            ],
            "监管风险": [
                "监管处罚", "立案调查", "违规操作", "内幕交易", "财务造假",
                "退市风险", "ST处理", "监管问询", "合规风险", "审计意见"
            ],
            "业绩表现": [
                "业绩预告", "财报发布", "营收增长", "净利润", "毛利率",
                "ROE", "EPS", "业绩超预期", "业绩不及预期", "扭亏为盈"
            ],
            "资本运作": [
                "并购重组", "股权激励", "定向增发", "股份回购", "分红派息",
                "资产注入", "股权转让", "控股权变更", "重大资产重组"
            ],
            "市场表现": [
                "涨停", "跌停", "放量", "缩量", "换手率", "市值",
                "龙头股", "概念股", "题材炒作", "资金流入", "资金流出"
            ]
        }
